// 使用sscanf两个#号之间的字符串abc#def@ghi
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
    char str[32] = "abc#def@ghi";
    char str1[32] = "";
#if 0   // 方法一
    
    char *p[5] = {str};
    int i = 0;

    // 字符串分割
    i = 0;
    while ((p[i] = strtok(p[i], "#@")) && ++i);

    // 输出
    printf("%s\n", p[1]);
#else   // 方法二
    // 解包
    sscanf(str, "%*4s%[^@]", str1);

    // 输出
    printf("%s\n", str1);
#endif
    return 0;
}